#ifndef RAY_H
#define RAY_H


#include"vec3.h"





class ray {
public:
	ray(){}

	ray(const point3& _ori,const vec3& _dir): ori(_ori), dir(_dir){}

	const point3& origin() const { return ori; }
	const vec3& direction() const { return dir; }

	point3 at(double t) const {
		return ori + t * dir;
	}



private:
	point3 ori;
	vec3 dir;
};








#endif // !RAY_H

